package com.it.heima.mapper;

import com.it.heima.entity.Brand;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
* @author 12083
* @description 针对表【tb_brand】的数据库操作Mapper
* @createDate 2025-04-22 22:06:58
* @Entity com.it.heima.entity.Brand
*/
public interface BrandMapper {

    int deleteByPrimaryKey(Long id);

    int insert(Brand record);

    int insertSelective(Brand record);

    Brand selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Brand record);

    int updateByPrimaryKey(Brand record);

    List<Brand> getAllBrands();


    // 根据条件查询的三种入参方式：1.入参为基本类型或String类型；2.入参为实体类；3.入参为Map类型
    /**
     * 入参为基本类型或String类型
     * @param p1 主键
     * @param p2 品牌名称
     * @return Brand
     */
    List<Brand> selectListByCondition(@Param("id") int p1, @Param("brandName") String p2);

    /**
     * 入参为实体类
     *
     * @param brand 实体类
     * @return Brand
     */
    List<Brand> selectListByCondition(Brand brand);

    /**
     * 入参为Map类型
     *
     * @param params Map类型入参
     * @return Brand
     */
    List<Brand> selectListByCondition(Map<String, Object> params);
}
